package com.crmweb.tool;

import java.util.ArrayList;

import java.util.List;
import java.util.Set;


public class UITreeFactory {
   
//	private static List<ModuleTree> moduleTreeList=null;//所有节点集合
//	/**
//	 * 初始化树形结构
//	 */
//	public static void loadTree(Set<ModuleDto> moduleDtoList){
//		if(moduleDtoList!=null && moduleDtoList.size()>0){
//			for (ModuleDto moduleDto : moduleDtoList) {
//				if(moduleDto.getParentId()==0){
//					ModuleData mData=new ModuleData(moduleDto.getUrl(), moduleDto.getWeight());
//					ModuleTree  mTree=new ModuleTree(
//							moduleDto.getId(), 
//							moduleDto.getName(), 
//							moduleDto.getIsChecked()==0 ? false : true);
//					mTree.setAttributes(mData);
//					mTree.setChildren(new ArrayList<ModuleTree>());
//					createChildren(mTree,moduleDtoList);//为父节点添加子节点
//					moduleTreeList.add(mTree);
//				}
//			}
//		}
//	}
//	
//	/**
//	 * 为节点node增加子节点
//	 * @param p
//	 * @param arr
//	 */
//	private static void createChildren(ModuleTree node,Set<ModuleDto> moduleDtoList){
//		
//		for(ModuleDto moduleDto : moduleDtoList){
//				if(node.getId()==moduleDto.getParentId()){
//					ModuleData mData=new ModuleData(moduleDto.getUrl(), moduleDto.getWeight());
//					ModuleTree  mTree=new ModuleTree(
//							moduleDto.getId(), 
//							moduleDto.getName(), 
//							moduleDto.getIsChecked()==0 ? false : true);
//					mTree.setAttributes(mData);
//					mTree.setChildren(new ArrayList<ModuleTree>());
//					node.getChildren().add(mTree);
//					createChildren(mTree,moduleDtoList);//递归调用
//				}
//			}
//		//如果父节点（包含在根据roleId获取的模块中）下的所有孩子节点都被选中则父节点被选中，否则不被选中
//		List<ModuleTree> childList=node.getChildren();
//		if(childList!=null && childList.size()>0){
//			for(ModuleTree mtree : childList){
//				if(mtree.isChecked()==false){
//					node.setChecked(false);
//					break;
//				}
//			}
//		}
//	}
//	
//	/**
//	 * 返回树形格式的json串
//	 */
//	public static JSONArray toJsonTree(Set<ModuleDto> moduleDtoList){
//		moduleTreeList=new ArrayList<ModuleTree>();
//		loadTree(moduleDtoList);//初始化模块树
//		return (JSONArray) JSONArray.toJSON(moduleTreeList);
//	}
}
